Printing apparatus, content output apparatus, and printing system

ABSTRACT

When a print instruction is made by a user who is watching a digital television or the like, a printer ( 600 ) makes a send request for print data necessary for printing the first page to an STB ( 500 ) (S 21 ) and receives “Sample. bml” from the STB ( 500 ). Next, the printer ( 600 ) refers to the contents written in “Sample. bml”, and specifies image data whose vertical and horizontal sizes are unknown. Next, the printer ( 600 ) makes a send request for the vertical and horizontal sizes of an image data whose vertical and horizontal sizes are unknown (such as “B. jpg”) to the STB ( 500 ) (S 31 ), and receives the vertical and horizontal sizes from the STB ( 500 )(S 32 ). Further, the printer ( 600 ) obtains actual image data (“A. jpg” and “B. jpg”) from the STB ( 500 ) after performing the layout for printing based on the received vertical and horizontal sizes and executes printing page by page.

TECHNICAL FIELD

[0001] This present invention relates to an apparatus and the like forprinting documents and images, especially a printing technology and aprinting method used when printing documents and images displayed on adigital television and the like.

BACKGROUND ART

[0002] Conventionally, when printing data to be printed (means “printdata” from here) showing a document to be printed (such as an XMLdocument contains an image) using a printer connected to a personalcomputer (abbreviated as “PC” from here), printing is performed byrepresenting print data using a control language (such as PageDescription Language) for a PC, then transforming it to an object image(abbreviated as “OI” from here) with the descriptions of the image data,further transforming the transformed OI to a print image data, andprocessing the print image data using a printer.

[0003]FIG. 1 is a diagram showing the process of making the print imagedata from a file represented using a control language in the case of theabove-mentioned conventional printing. As shown in FIG. 1, first, a fileto which information on a page written in a control language is addedfor all the print data, next, page by page data necessary for printingin the file is sent. The printer prints based on the received data. Inthis case, all the data of text data, image data and the like in thedocument are written in a control language.

[0004] Conventional printers are made without considering the case whereprinting is performed by connecting to a device (such as an STB of adigital television) that does not have the function for transformingprint data to a file written in a control language unlike a PC whilethey have the function for receiving data sent from outside. Morespecifically, a screen display of a digital broadcasting programdisplayed on a digital television screen comprises a plurality of files,that is, a BML file contains the component information of the screendisplay, a JPEG (Joint Photographic Experts Group being an imagecompression standard) file and an AAC (Advanced Audio Coding being anaudio compression standard) file which are components of a displayscreen and the like, which means that a printer must receive data (suchas a BML file or a JPEG file) that is sent from an STB and the like asit is before transforming the data to a file written in a controllanguage, and perform transformation processing that is performedconventionally by a PC when performing printing by connecting a printerto a device such as this distal television. Therefore, the processingload necessary for such as a transformation processing in the printerincreases and the needed memory capacity at the time of printing alsoincreases, which results in a drawback of high cost and the like.

[0005] Therefore, this present invention is made considering theabove-mentioned problems and its aim is providing a printing apparatus,a content output apparatus and a printing system operable to transform aBML file, a JPEG file or the like into a file written in a controllanguage while the processing is conventionally performed by a PC, andfurther, transform the file written in a control language into an OImore efficiently while the processing is conventionally performed by aprinter using a smaller memory capacity.

DISCLOSURE OF INVENTION

[0006] In order to achieve the above-mentioned aim, the printingapparatus in the present invention is connectable to a content storagedevice that stores contents containing an image, and comprises a dataobtainment unit operable to obtain a part or all of the contents, a sizeextraction unit operable to extract the vertical and horizontal sizes ofan image from the obtained data, a layout unit operable to lay out theimage for printing using the extracted vertical and horizontal sizes ofthe image, an image obtainment unit operable to request the contentstorage apparatus for the image data and obtain the image data based onthe layout, and a printing unit operable to generate and print out aprint image data based on the obtained image data and layout.

[0007]FIG. 2 is a diagram showing the process from representing theprint data printed by the printing apparatus in the present invention ina control language to making an OI. As shown in FIG. 2, when it iscompared with the above-mentioned FIG. 1, it is possible to save thememory capacity in the printer because a file in which image data isstored is written as link information in the file written in a controllanguage. In this case, if a need arises, the image data is decompressedbased on the link information and the vertical and horizontal sizes ofthe image.

[0008] In this way, as an OI of image data is made by a direct access tothe image data as a need arises, it becomes no need to write the datacorresponding to the image data in the file written in a controllanguage, and thus it becomes possible to prevent doubly storing thereceived image data and the after-transformation data written in acontrol language. Also, it is possible to perform printing processingefficiently using the memory of the printer without putting heavy loadon an STB.

[0009] Note that, the present invention is realized not only as theabove-mentioned printing apparatus, but also as a printing methodregarding the unique units of the above-mentioned printing apparatusesas steps or as a program operable to have a computer such as a PCexecute these steps. It is needless to say that it is possible todistribute such a program using a storage medium such as a CD-ROM or viaa communication medium such as the Internet.

FURTHER INFORMATION ABOUT TECHNICAL BACKGROUND TO THIS APPLICATION

[0010] filed, is incorporated herein by reference.

[0011] Japanese Patent application No. 2003-031214 filed Feb. 7, 2003.

BRIEF DESCRIPTION OF DRAWINGS

[0012] These and other objects, advantages and features of the inventionwill become apparent from the following description thereof taken inconjunction with the accompanying drawings that illustrate a specificembodiment of the invention. In the Drawings:

[0013]FIG. 1 is a diagram showing the process in which a filerepresented using a control language is transformed to print image datain conventional printing.

[0014]FIG. 2 is a diagram showing the process in which a filerepresented using a control language is transformed to print image datain printing in a first embodiment.

[0015]FIG. 3 is a block diagram showing the functional structure of anSTB and a printer which comprise the printing system in the firstembodiment.

[0016]FIG. 4 is a communication sequence diagram showing the datacommunication between the STB and the printer in the first embodiment.

[0017]FIG. 5 is a flow chart showing the processing flow of the printerin the first embodiment.

[0018]FIG. 6 is a diagram showing the print image using the print datain the first embodiment.

[0019]FIG. 7 is a diagram showing the group of object images necessaryfor all pages when printing using the print data in the firstembodiment.

[0020]FIG. 8 is a diagram showing an example of structure informationdata for respective print data files in the first embodiment.

[0021]FIG. 9 is a block diagram showing an example of structureinformation data concerning the print data for respective pages in thefirst embodiment.

[0022]FIG. 10 is a diagram showing an example of each buffer capacity inthe storage unit of the printer in the first embodiment.

[0023]FIG. 11 is a communication sequence diagram showing the datacommunication between an STB and a printer in a second embodiment.

[0024]FIG. 12 is a flow chart showing the processing flow of the printerin a second embodiment.

[0025]FIG. 13 is a communication sequence diagram showing the datacommunication between an STB and a printer in a third embodiment.

[0026]FIG. 14 is a flow chart showing the processing flow of the printerin the third embodiment.

[0027]FIG. 15 is a block diagram showing the functional structure of aserver, an STB and a printer comprise the printing system in a fourthembodiment.

[0028]FIG. 16 is a communication sequence diagram showing the datacommunication among the server, the STB and the printer in the fourthembodiment.

[0029]FIG. 17 is a flow chart showing the processing flow of the printerin the fourth embodiment.

BEST MODE FOR CARRYING OUT THE INVENTION

[0030] Further explanations on embodiments in the present invention willbe made below with reference to figures.

[0031] (First Embodiment)

[0032]FIG. 3 is a diagram showing the functional structures of an STB100 and a printer 200 which comprise the printing system 10 in thisembodiment.

[0033] The STB 100 is a tuner terminal of a digital televisionbroadcasting, and it comprises a communication I/F unit 101 operable toinput and output data when communicating with a printer 200, an HDD 102operable to store program contents of digital television broadcastingand the like, the first memory 103 operable to store the data of aprogram on air or before broadcasting (more specifically, beforedisplaying the data on the screen display of a digital television andthe like), the second memory 104 operable to save the data stored inthis first memory 103, a controller unit 105 operable to control theabove-mentioned respective units and so on. Further, each unit of theSTB 100 is connected to each other by an I/O bus 109.

[0034] The reason why the STB 100 comprises the second memory 104 is asfollows: for example, in the case of digital television broadcasting, asthe data of a program that is already broadcast is usually stored onlyin the first memory 103 in the STB 100, the data is deleted whenswitching programs or the program finishes unless an explicit storeinstruction is made by a user. Besides, if it receives a printinstruction from a user during the on-air time, in the case that theprogram is switched or finished before its printing completes, the dataexpected to be printed is deleted in the first memory 103 of the STB 100and thus there emerges a problem that it is impossible to completeprinting. In order to solve this problem, the second memory 104 isprepared so as to save the data necessary expected to be printed unlessthere is an explicit delete instruction or the like. Of course, when thedata for printing exists in the first memory 103, it is also possible tosend the data from the first memory 103 to the printer 200. In otherwords, any one of an HDD 102 in the STB 100, a printer 200, an externalstorage medium connected to the STB 100 and the like is available whensaving the above-mentioned data, and it is also possible to send fromthe first memory 103 when the necessary print data can be stored in thefirst memory 103 without the second memory 104.

[0035] The printer 200 is a printer that is so-called “PULL” type, andactively obtains necessary data from the STB 100 when receiving a printinstruction notification from the STB 100 and the like. The printer 200comprises a communication I/F unit 201 operable to input and output datawhen communicating with the STB 100, a storage unit 203 operable tostore data received from the STB 100 or print image data or the likethat are made during the printing process, a transformation unit 202operable to control transformation from the received data to a filewritten in a control language or respective images generated byexecuting respective instructions written in a file in a controllanguage (object image: OI) to respective print image data, a printengine unit 204 operable to draw text or images on a paper and the likebased on print image data, a print instruction receiving unit 206operable to receive a print instruction from a user via the STB 100, acontroller 205 operable to control the above-mentioned respective unitsand the like. In addition, each unit of the printer 200 is connected toan I/O bus 209. An object image has information on location in the wholepage along with being a small piece of image.

[0036] Also, the print instruction reception unit 206 can also receive aprint instruction via, for example, a remote controller of a digitaltelevision and the like excluding the above-mentioned STB 100.

[0037] Further, the storage unit 203 comprises an input file buffer 203a operable to store data received from an STB 100, a decompressionbuffer 203 b operable to decompress data stored in the input file buffer203 a to a file written in a control language, an OI buffer 203 coperable to store object images when executing a file written in acontrol language, and an image data buffer 203 d operable to store printimage data made by synthesizing respective object images.

[0038] Also, the STB 100 is connected with the printer 200 via serialconnection such as the IEEE 1394. Any one of the IEEE 1394, a USB, andthe like is available when connecting the STB 100 with the printer 200.The printer 200 is, for example, a printer like an inkjet printer or alaser printer, or a facsimile apparatus, a copy machine and the like.

[0039] Next, explanation on data communication when printing in theprinting system 10 will be made. FIG. 4 is a communication sequence thatshows data communication between the STB 100 and the printer 200. InFIG. 4, it is assumed that there is a print instruction from a user forprinting “the first page” shown in the later-explained FIG. 6. Printdata in FIG. 4 is composed of a group of broadcasting program files madeof “Sample. bml”, “A. jpg”, and “B. jpg”. Document structure ofrespective image data files (file size, the vertical and horizontalsizes of images and so on), places in which an image data file is stored(link destinations) are written in “Sample. bml”. “A. jpg” and “B. jpg”are image data (for example, a JPEG file with a header part and a bodypart) of images that constitutes a screen display. In this embodiment,the contents of the print data and so on are not manipulated (forexample, without changing color information), and printed as they are.

[0040] First, the printer 200 (the print instruction receiving unit 206)receives a print instruction from a user via the STB 100 and the like.In this way, the printer 200 notifies the STB 100 of a print data sendinstruction (S11). After that, the printer 200 receives print data sentfrom the STB 100 (S12), and tries to store the received data in theinput file buffer 203 a of the printer 200.

[0041] Here, a controller unit 205 judges whether the input file buffer203 a has the capacity for storing all the received print data. When thejudgment is yes, in other words, when it is judged that the size ofprint data is smaller than that of the input file buffer 203 a of theprinter 200, the transformation unit 202 starts to pre-printingprocessing (that is, layout processing for printing).

[0042] On the other hand, when it is judged that the print data to bereceived cannot be completely stored in the input file buffer 203 a, thecontroller unit 205 issues a save request from the printer 200 to theSTB 100 so as to store the whole print data tried to be received in theSTB 100 (S13), and control the communication I/F unit 201 so as to savethe concerning data in the second memory 104 in the STB 100. The reasonwhy the data is saved is, as mentioned above, to prevent an in-processprinting from terminating because of a program's completion or the like.

[0043] Note that it is also possible to save the concerning data in thesecond memory 104 triggered by a print instruction, regardless ofwhether it is possible to store the data in the input file buffer 203 aor not when it is specified in advance that the STB 100 executes apull-type communication with the printer 200 in its specification andthe like.

[0044] Here, the sizes of the respective buffers in the storage unit 203are shown in FIG. 10. Whether the printer 200 is capable of storing theprint data to be received from the STB 100 completely in the input filebuffer 203 a is judged by receiving data that indicates the size ofprint data, that is, 190 KB in total of 7 KB for “Sample. bml”, 40 KBfor “A. jpg”, and 143 KB for “B. jpg” and then comparing the size with110 KB, that is, the size of the input file buffer 203 a in controllerunit 205. In the case of this embodiment, the controller unit 205 judgesthat it is impossible to store the whole print data by referring to thecontents of FIG. 10 because the data amount of the print data is largerthan 110 KB, that is, the capacity of the input file buffer 203 a.

[0045] It is also possible to calculate the data size of the print datato be received in the printer 200 side (for example, the controller 205)without receiving the information that shows the size of the print datafrom the STB 100.

[0046] As to the above-mentioned “Sample. bml”, providing that the“Sample. bml” is held in the input file buffer 203 a after receiveduntil its printing finishes (in other words, providing that it is notdeleted until its printing finishes), it is possible to start theabove-mentioned transformation processing and the like immediatelywithout receiving the print data even when printing the pages startingfrom the second page.

[0047] Here, the printing processing when it is impossible to store thewhole print data in the input file buffer 203 a at one time will beexplained more specifically with reference to FIG. 6. The input filebuffer 203 a can store “Sample. bml” and “A. jpg” but cannot store “B.jpg”. However, “B. jpg” is necessary for printing the first page. Inaddition, as the component information of the file as a standard (suchas the vertical and horizontal sizes of the display screen and the like)is necessary for making a file written in a control language as a stagebefore making print image data, the input file buffer 203 a in theprinter 200 should hold the vertical and horizontal sizes of the imageof “Sample. bml”, “A. jpg”, and “B. jpg” until printing finishes.

[0048] Generally, these vertical and horizontal sizes of the images aregotten by reading the information on these vertical and horizontal sizeswritten in the header part and the like of the image data. Morespecifically, information shown in FIG. 8 is stored in the input filebuffer 203 a and the like. The vertical and horizontal sizes of imagescan be received from the STB 100 or calculated in the printer 200 (forexample, the controller unit 205).

[0049] Further, the STB 100 may store the vertical and horizontal sizesof the image data in advance in “Sample. bml”, and then function to sendthe data to the printer 200. It is also possible to perform imageenlarge or shrink processing based on the vertical and horizontal sizesof these images when executing printing processing.

[0050] The above-mentioned pre-printing processing will be explainedbelow.

[0051] First, information showing that the vertical size of the image“A. jpg” is 200 [pixel] and the horizontal size is 500 [pixel] is gottenfrom the data stored in the input file buffer 203 a such as thecomponent information stored in “A. jpg”, and “Sample. bml” in FIG. 8(more specifically, information shown in the table as FIG. 8), and theinput file is transformed into a file written in a control language bythe transformation unit 202 and decompressed in the decompression buffer203 b. While the data including the image data are conventionallywritten as statements when transforming data that contains image datainto a file written in a control language, only statement specifying thefile name of the image data is written instead of the descriptions ofthe image data as statements when the data is transformed into a filewritten in a control language in this embodiment because image data isnot always stored in the input file buffer 203 a. This method isespecially effective when there is no need to print all the pages ofimage data that requires plural pages. Also, a file written in a controllanguage is made for all the respective pages, and the number of pagesin total can be grasped when these files written in a control languageare made.

[0052] When these files written in a control language are made in thedecompression buffer 203 b by the transformation unit 202, respectiveinstructions written in a control language are executed in order by thetransformation unit 202 so as to decompress the object images in thefirst page in the OI buffer 203 c. FIG. 7 is a diagram showing theobject images to be displayed in the OI buffer 203 c. When thetransformation unit 202 executes instructions starting from the onewritten in the first line of the file and the stage has come in whichthe instruction for making object images of “A. jpg” in the OI buffer203 c is executed, and the transformation unit 202 confirms the datastored in the input file buffer 203 a. Then the transformation unit 202makes object images in the OI buffer 203 c using “A. jpg” because “A.jpg” itself is stored in the input file buffer 203 a. After thisprocessing, the transformation unit 202 further executes the instructionfor making object images of “B. jpg” in the OI buffer 203 c. However,the transformation unit 202 has to obtain “B. jpg” in advance from theSTB 100 unlike in the case of “A. jpg” because “B. jpg” does not existin the input file buffer 203 a.

[0053] Therefore, the printer 200 makes a resend request for “B. jpg” tothe STB 100. As “B. jpg” is sent as a group of files of the print datafrom the second memory 104 in the STB 100, “B. jpg” is overwritten in amemory space in which necessary data, that is, “A. jpg” is stored. “B.jpg” can be stored in the input file buffer 203 a by overwriting thedata on the file that has already processed and becomes useless, or bywriting the data after deleting the previously stored file. If imagedata requires plural pages as shown in FIG. 6, only storing the numberof byte necessary for constituting one page is needed. In practical, asit is possible to specify which part of the “B. jpg” is the first pagewhen making files written in a control language, it becomes possible touse the number of bytes of the first page of “B. jpg” when performingprinting processing of the following page by storing the data separatelyas shown in FIG. 9. When “B. jpg” is stored in the input file buffer 203a, the instruction for making object images of “B. jpg” in the OI buffer203 c is executed.

[0054] This embodiment is a case where “A. jpg” and “B. jpg” are alignedvertically and “B. jpg” is processed after “A. jpg”, but it is possibleto execute OI making processing regardless of the locations of imagesbecause image data are processed one by one in the order of having beenwritten in a control language regardless of image locations.

[0055]FIG. 7 is for specifying object images made in this way. The printimage data for the first page is made in the image data buffer 203 d bythe transformation unit 202 using these object images that storeslocation information. The state of the print image data to bedecompressed in the image data buffer 203 d will be shown in FIG. 6. Theprint engine unit 204 of the printer 200 executes printing using theseimage data.

[0056] Judgment on whether the second page should be printed or notafter the first page is printed is on hold until a user gives aninstruction. When a user gives an instruction for executing printing thesecond page, the printing processing is continued. Data when making thefirst page, that is, files written in a control language correspondingto all of the respective pages have already stored, more specifically inthe decompression buffer 203 b. Therefore, the second page is processedconsidering the processing of the first page.

[0057] There is a need to make object images considering files writtenin a control language for the first page so as to print the second page.There is a need to obtain these data so as to make object images of thesecond page because there is no data on the latter part of “B. jpg”. Therest of the “B. jpg” data should be stored in the input file buffer 203a based on the number of bytes of “B. jpg” obtained when receiving “B.jpg” in the first page. The processing for making the following printimage data is the same as the processing for the first page.

[0058]FIG. 5 is a flow chart showing the processing flow in the printer200 when executing printing explained in the above-mentioned FIG. 4.

[0059] When there is a print request from a user (5201), the printer 200makes a send request for print data to the STB 100 (S202) first andreceives the print data (such as BML data and image data) (5203).

[0060] Next, the printer 200 extracts the vertical and horizontal sizesof these images based on the image data and deletes the image datathemselves because the memory capacity is limited.

[0061] Further, the printer 200 determines the layout for printing basedon BML data and the above-mentioned vertical and horizontal sizes (5206and 5207), and makes a send request for the image data to the STB 100(5208).

[0062] After this, the printer 200 receives the printing data from theSTB 100, completes the image data for printing and executes printing thefirst page (S210).

[0063] Pages from the second page are printed in a same manner. (S211and S206 to S210).

[0064] The processing method mentioned above makes it possible to printdata that requires plural pages even when data that are not transformedinto files written in a control language (more specifically, “Sample.bml”, “A. jpg” and “B. jpg”) are inputted and reduce the processingworkload of apparatuses to be connected to the printer becausecomplicated data processing in the image data sending side, that is, theSTB 100 becomes unnecessary. Also, there is no need to write thedescriptions of “A. jpg” and “B. jpg” whose data sizes are big in fileswritten in a control language while an instruction specifying these filenames should be written in files written in a control language becausethe printer 200 makes both of files written in a control language andobject images. By doing this, it is possible to use the decompressionbuffer 203 b effectively in the printer 200, and further, it is alsopossible to use the input file buffer 203 a effectively by storing onlythe necessary image data in the input file buffer 203 a only when theneed arises.

[0065] An example of the STB 100 as the sending side of image data isexplained in the above-mentioned embodiment, it is also possible toconnect the printer 200 to a mobile device such as a mobile phone or thelike and receive image data from an external data server via the mobiledevice.

[0066] Also, via an information electrical apparatus such as a microwaveoven or a refrigerator with a storage medium such as an SD memory, it ispossible to receive data stored in the storage unit of an apparatus ofthose listed above. When these apparatuses without a function for acomplicated processing have a data send function, it becomes possible toprint print data in the same method as in this embodiment. Further,while a BML file is used as a standard for making files written in acontrol language in the above-mentioned embodiment, a file written in anML (Markup Language) such as an HTML file, an XHTM file and an XML fileor any other file can also be used on condition that the file includesstandard information of the file components.

[0067] The print data is explained as data displayed on a televisiondisplay screen in this embodiment, but invisible data that are notdisplayed on a screen display are included when the data can bescrolled. For example, print data can be the data such as cooking recipeinformation that are not displayed on the television screen in a cookingprogram. When there is a description for linking to data except thesevisible data such as audio data in the standard information of the filestructure, it is advisable to execute the processing for removing thelinking to these visible data when making files written in a controllanguage.

[0068] An example of writing link information in files to be written ina control language using file names of these image data is shown as toimage data in this embodiment. On the other hand, the following is anexplanation on the processing in the case where another standard fileexisting as a slave of a master standard file that is a standard formaking files written in a control language. The name of the slavestandard file is written as link information in a file written in acontrol language when transforming the master standard file into acontrol language. It is possible to execute the processing of printingthe whole print data like this embodiment when transforming the slavestandard file into a control language by executing the processingaccording to the contents of the contents of the slave standard filelike this embodiment—for example, writing text data in a controllanguage as they are, writing file names of image data as linkdestinations in a control language, and making OI and image dataaccording to the instructions written in a control language that is madehere.

[0069] Also, while files written in a control language are directly madefrom data stored in the input file buffer 203 a in the above-mentionedembodiment, it is also possible to make files written in a controllanguage after transforming the data into another format once.

[0070] In addition, the printing processing can be terminated withoutconfirming the end of printing after printing the last page. Also, it isadvisable to notify the STB 100 of a print termination message each timea printing processing terminates. Also, notifying the STB 100 of a printtermination message each time a printing terminates enables the STB tokeep a start instruction in another printing processing on hold, whichmakes it possible to avoid a collision of a resend instruction in theprocess of a printing and the start instruction in the printingprocessing.

[0071] Printing is executed in the order of pages starting from the 1stpage in this embodiment, it is desirable that printable pages bedisplayed to a user when there are plural pages, the user can select thepages to be printed, and that printing in no particular order, forexample, printing the fifth page next to the third page be possible.Also, the storage unit 203 is clearly divided into the input file buffer203 a, the decompression buffer 203 b, the OI buffer 203 c and the imagedata buffer 203 d, but it is possible to regard the whole storage unit203 as a memory instead of dividing it physically. For example, it ispossible to reduce receiving times by preparing a bigger buffer area foran input file when the decompression buffer 203 b has a free space.

[0072] (Second Embodiment)

[0073] Next, a printing system in the second embodiment of the presentinvention will be explained.

[0074] In this embodiment, the case where the vertical and horizontalsizes of image data are extracted from its header, layout for printingis performed, the entity data of the images necessary for printing isobtained, and printing is executed will be explained while theabove-mentioned first embodiment is shown as the case where the part ofthe print data (more specifically, “B. jpg”) is temporally deleted andthe layout for printing is performed, and then the print data isreobtained and printed when it is judged whether the image data receivedfrom an STB can be stored in the input file buffer or not and the resultis “impossible”.

[0075]FIG. 11 is a diagram showing a communication sequence indicatingthe data communication between the STB 300 and the printer 400 thatconsist the printing system 20 concerning this embodiment.

[0076] The STB 300 has the same level functions as the STB 100 in theabove-mentioned first embodiment, but the STB 300 differs from theabove-mentioned STB 100 in that the STB 300 is useful when the printer400 makes a send request for only the header of image data.

[0077] The printer 400 has the same level functions as the printer 200in the above-mentioned first embodiment, but the printer 400 differsfrom the printer 200 in that the printer 400 makes a send request foronly the header of image data to the STB 300.

[0078] Units different from the ones in the printing system in theabove-mentioned first embodiment will be focused on in the followingexplanation, while the same reference number is given to the units usedin common and explanations on those units are omitted.

[0079] As shown in FIG. 11, the printer 400 receives only “Sample. bml”from the STB 300 first (S21 and S22), and extracts image files whosevertical and horizontal sizes are unknown (such as “B. jpg”) of “Sample.bml”.

[0080] Next, the printer 400 obtains the header of “B. jpg” whosevertical and horizontal sizes are unknown from the STB 300 (S22 andS24). The printer 400 may delete the header of “B. jpg” after extractingthe vertical and horizontal sizes of “B. jpg” from the header of “B.jpg”. Next, the layout for printing is performed (S14 and S17) like thecase of the above-mentioned first embodiment.

[0081] After that, the printer 400 obtains “A. jpg” and “B. jpg” fromthe STB 300 as the need arises (S25 and S26), and making image data forprinting and executing printing (S18).

[0082]FIG. 12 is a flow chart showing the processing flow in the printer400 in this embodiment.

[0083] First, the printer 400 requests the STB 300 for only “Sample.bml” as print data and obtains “Sample. bml” (S401 and S402).

[0084] Next, the printer 400 starts laying out object images based on“Sample. bml” (S403), and checks whether the vertical and horizontalsizes of image data are written (S404). When the vertical and horizontalsizes are not written in “Sample. bml” (S404: No), the printer 400obtains the header of “B. jpg” from the STB 300 (S405).

[0085] In this way, the printer 400 extracts the vertical and horizontalsizes from the header of “B. jpg” and completes laying out object imagesfor printing (S207). Next, printing is executed (S208 to S211) like thecase of the above-mentioned first embodiment.

[0086] As mentioned up to this point, the printing system 20 in thisembodiment makes it possible to print images on a digital televisionscreen and the like even when the buffer capacity for printing in theprinter is small because the header in which the vertical and horizontalsizes necessary for laying out object images are preobtained from theSTB, the layout for printing is completed, and then, necessary imagedata is received from the STB, and print image data are generated inadvance.

[0087] (Third Embodiment)

[0088] Next, a printing system in the third embodiment of the presentinvention will be explained.

[0089] In this embodiment, the case where the layout for printing isperformed after the vertical and horizontal sizes are obtained from theSTB, the entity data of images necessary for printing is obtained, andprinting is performed is explained, while the above-mentioned firstembodiment is shown as the case where whether the image data receivedfrom the STB can be stored in the input file buffer is judged, when thejudgment is “impossible”, part of the print data (more specifically, “B.jpg”) is temporarily deleted, layout for printing is performed, theprint data is reobtained, and then printing is performed.

[0090]FIG. 13 is a communication sequence diagram showing the datacommunication between the STB 500 and the printer 600 that constitutethe printing system 30 concerning this embodiment.

[0091] The STB 500 has the same level functions as the STB 100 in theabove-mentioned first embodiment, but the STB 500 differs from theabove-mentioned STB 100 in that the STB 500 is useful when there is asend request for only the vertical and horizontal sizes of image datamade by the printer 600.

[0092] The printer 600 has the same level functions as the printer 200in the above-mentioned first embodiment, but the printer 600 differsfrom the printer 200 in that the printer 600 makes a send request foronly the vertical and horizontal sizes of image data to the STB 500.

[0093] Units different from the ones in the printing system in theearlier-mentioned embodiment will be focused on in the followingexplanation, while a same reference number is given to the units used incommon and explanations on those units are omitted.

[0094] As shown in FIG. 13, the printer 600 extracts image files whosevertical and horizontal sizes are unknown (such as “B. jpg”) of “Sample.bml” and receives only the vertical and horizontal sizes (for example,of “B. jpg”) from the STB 500 after extracting the images whose verticaland horizontal sizes are unknown (S31 and S32).

[0095] The layout is made like the case in the above-mentioned secondembodiment (S14 and S17) and printing is performed (S25, S26 and S18)below.

[0096]FIG. 14 is a flow chart showing the processing flow in the printer600 in this embodiment.

[0097] First, the printer 600 obtains only “Sample. bml” in the samemanner as the above-mentioned second embodiment (S201, S401 and S402).Next, the printer 600 extracts images whose vertical and horizontalsizes are unknown (S601) based on “Sample. bml”, and obtains only thevertical and horizontal sizes of these images from the STB 500 (S604 andS605).

[0098] The printer 400 completes the layout for printing (S403 and S207)as the vertical and horizontal sizes of all the images are clarified bythese steps.

[0099] Printing is performed in the same manner as the above-mentionedsecond embodiment (S208 to S211).

[0100] As mentioned up to this point, the printing system 30 in thisembodiment makes it possible to print a digital television screen andthe like even when the buffer capacity for printing in the printer issmall because the vertical and horizontal sizes necessary for the layoutare obtained from the STB, the layout for printing is completed, andthen, the necessary image data is received from the STB, and print imagedata are generated in advance.

[0101] (Fourth Embodiment)

[0102] Next, a printing system in the fourth embodiment of the presentinvention will be explained.

[0103] In this embodiment, the case where a server which is an imagedata sending source sends image data to which the vertical andhorizontal sizes of the images are added in advance to the STB and theprocessing concerning the vertical and horizontal sizes executed betweenthe STB and the printer is unnecessary will be explained, while theabove-mentioned first embodiment is shown as the case where whether theimage data received from the STB can be stored in the input file bufferis judged, when the judgment is “impossible”, part of the print data(more specifically, “B. jpg”) is temporarily deleted, the layout forprinting is performed, the print data is reobtained, and printing isperformed.

[0104]FIG. 15 is a block diagram showing the functional structure of theserver 900, the STB 700 and the printer 800 that constitute the printingsystem 40 in the fourth embodiment. Units different from the ones in theprinting system in the above-mentioned embodiments will be focused on inthe following explanation, while the same reference number is given tothe units used in common and explanations on those units are omitted.

[0105] The server 900 has the communication I/F unit 901 operable toexchange data and so on when communicating with the STB 700, the memory902 operable to store an HDD (hard disc drive) and the like for storingdata and the like to be sent to the STB 700, the vertical and horizontalsize writing unit 903 operable to specify the vertical and horizontalsizes of images in advance and write those sizes in “Sample. bml”, andthe controller unit 904 operable to control the above-mentionedrespective units, all of which are connected with the I/O bus 909.

[0106] The communication I/F unit 701 in the STB 700 executes datatransformation and so on when communicating with the server 900 and theprinter 800.

[0107] The communication I/F unit 801 in the printer 800 executes datatransformation and so on when communicating with the STB 700. Otherunits are the same as the ones in the above-mentioned first embodiment.

[0108]FIG. 16 is a communication sequence diagram showing the datacommunication between the above-mentioned server 900, the STB 700 andthe printer 800. As shown in FIG. 16, the vertical and horizontal sizewriting unit 903 in the server 900 judges whether the vertical andhorizontal sizes of these images in the respective image files thatcomprise the display screen are written in “Sample. bml”, as to thewritten image files, specifies the vertical and horizontal sizes withreference to the headers of these image files and writes those sizes in“Sample. bml”.

[0109] The STB 700 receives print data from the server 900 via a line ora broadcasting wave (S41) and stores the data in the HDD 102. Theprinter 800 obtains only “Sample. bml” from the STB 700 (S21 and S22) inthe same manner as the above-mentioned third embodiment, and performsthe layout for printing based on the vertical and horizontal sizes ofthe respective images written in this “Sample. bml”. The followingcommunication sequence is the same as the above-mentioned thirdembodiment.

[0110]FIG. 17 is a flow chart showing the processing flow in the printer800 in this embodiment.

[0111] First, the printer 800 obtains only “Sample. bml” like the caseof the above-mentioned third embodiment (S201, S401 and S402). Next, theprinter 800 completes laying out of all the images necessary forprinting (S403 and S207) based on “Sample. bml” and next, executesprinting in the same manner as the third embodiment (S208 to S211).

[0112] As mentioned up to this point, the printing system 40 in thisembodiment makes it possible to reduce the time needed for printingbecause the necessary vertical and horizontal sizes are specified in aserver and written in “Sample. bml” in advance and thus there is no needto communicate data for specifying the vertical and horizontal sizesafter that.

Industrial Applicability

[0113] As mentioned up to this point, the printing apparatus and theprinting method in the present invention is suitable for a printingsystem in a digital television and the like that can realize reductionin the memory cost and acceleration in printing speed because the memorycapacity needed for printing is smaller, and data communication isperformed more efficiently than before when printing the imagesdisplayed on a digital television or the like.

1. A printing apparatus which is connected with a content storage devicefor storing contents including an image, comprising: a data obtainmentunit operable to obtain a part or all of data of the contents; a sizeextraction unit operable to extract a vertical and horizontal sizes ofthe image from the obtained data; a layout unit operable to lay out theimage for printing using the extracted vertical and horizontal sizes; animage obtainment unit operable to request the contents storage devicefor the image data and obtain said image data based on a layout resultoutputted by the layout unit; and a printing unit operable to generateprint image data based on the obtained image data and the layout result,and print out the image data.
 2. A printing apparatus according to claim1, wherein the contents includes component information on components ofthe contents, the data obtainment unit obtains the component informationincluded in the contents, and the size extraction unit extracts thevertical and horizontal sizes from the obtained component information.3. A printing apparatus according to claim 1, wherein the dataobtainment unit comprises: a storage unit operable to store obtainedcontents; a judgment unit operable to judge whether the obtainedcontents can be stored in the storage unit or not; and a deletion unitoperable to delete a part of the contents when the judgment unit judgesthat the obtained contents cannot be stored.
 4. A printing apparatusaccording to claim 1, wherein the contents includes a header part and abody part, and the header part includes data indicating the vertical andhorizontal sizes, the data obtainment unit obtains the header part ofthe contents, and the size extraction unit extracts data indicating thevertical and horizontal sizes included in the obtained header part.
 5. Aprinting apparatus according to claim 4, wherein the data obtainmentunit obtains only data indicating the vertical and horizontal sizes inthe header part, the obtained data showing the vertical and horizontalsizes being regarded as the extracted vertical and horizontal sizes. 6.A printing apparatus according to claim 5, further comprising a storageunit operable to store data, wherein the storage unit holds dataindicating the component information until the layout is completed.
 7. Aprinting apparatus according to claim 6, wherein the storage unitfurther stores data indicating the vertical and horizontal sizes.
 8. Aprinting apparatus according to claim 7, wherein the data indicating thecomponent information is data written in a markup language.
 9. Aprinting apparatus according to claim 8, wherein the data written in themarkup language is data written in Broadcast Markup Language.
 10. Acontent output apparatus for outputting contents including an image to aprinting apparatus, wherein data indicating the vertical and horizontalsizes of an image is included in the contents and sent to the printingapparatus.
 11. A content output apparatus for outputting contentsincluding an image to a printing apparatus, wherein the contents includea header part and a body part, and the header part includes dataindicating the vertical and horizontal sizes, and the content outputapparatus extracts the header part from the contents, and sends theheader part to the printing apparatus.
 12. A content output apparatusfor outputting contents including an image to a printing apparatus,wherein the contents include a header part and a body part, and theheader part includes data indicating the vertical and horizontal sizes,and the content output apparatus extracts the vertical and horizontalsizes from the header part and sends the vertical and horizontal sizesto the printing apparatus.
 13. A printing method for a printingapparatus connected to a content storage device that stores contentsincluding an image, the printing method comprising: a data obtainmentstep for obtaining a part or all of data of the contents; a sizeextraction step of extracting the vertical and horizontal sizes of theimage from the obtained data; a layout step of performing layout forprinting the image with reference to the extracted vertical andhorizontal sizes; an image obtainment step of requesting the image datafrom the content storage device based on a layout result outputted bythe layout unit and obtains the image data; and a printing step ofgenerating print image data based on the obtained image data and thelayout result and printing out the data.
 14. The printing methodaccording to claim 13, wherein the contents includes componentinformation that is information on components of the contents, in thedata obtainment step, the component information included in the contentsis obtained, and in the size extraction step, the vertical andhorizontal sizes are extracted from the obtained component information.15. The printing method according to claim 13, wherein the dataobtainment step comprises: a storage sub-step of storing obtainedcontents; a judgment sub-step of judging whether the obtained contentscan be stored in the storage unit or not; and a deletion sub-step ofdeleting a part of the contents when the judgment unit judges that theobtained contents cannot be stored.
 16. The printing method according toclaim 13, wherein the image data includes a header part and a body part,and the header part includes data indicating the vertical and horizontalsizes, in the data obtainment step, the header part of the image data isobtained, and in the size extraction step, data showing the vertical andhorizontal sizes included in the obtained header part is extracted. 17.The printing method according to claim 16, wherein in the dataobtainment step, only data showing the vertical and horizontal sizes inthe header part is obtained, and in the size extraction step, theobtained data showing the vertical and horizontal sizes being regardedas the extracted vertical and horizontal sizes.
 18. A printing systemcomprising a content output apparatus and a printing apparatus, whereinthe content output apparatus stores contents including an image, addsdata indicating the vertical and horizontal sizes of the image to thecontents and sends the data together with the contents to the printingapparatus, the printing apparatus includes: a data obtainment unitoperable to obtain a part or all of data of the contents; a sizeextraction unit operable to extract the vertical and horizontal sizes ofthe image from the obtained data; a layout unit operable to lay out theimage for printing with reference to the extracted vertical andhorizontal sizes; an image obtainment unit operable to request to thecontents output apparatus for the image data based on a layout resultoutputted by the layout unit and obtains the image data; and a printingunit operable to generate print image data based on the obtained imagedata and the layout and print out the print image data.
 19. A printingapparatus according to claim 2, wherein the contents includes a headerpart and a body part, and the header part includes data indicating thevertical and horizontal sizes, the data obtainment unit obtains theheader part of the contents, and the size extraction unit extracts dataindicating the vertical and horizontal sizes included in the obtainedheader part.
 20. The printing method according claim 14, wherein theimage data includes a header part and a body part, and the header partincludes data indicating the vertical and horizontal sizes, in the dataobtainment step, the header part of the image data is obtained, and inthe size extraction step, data showing the vertical and horizontal sizesincluded in the obtained header part is extracted.